package org.edu.modules.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

@Data
@TableName("ve_base_app_user")
@ApiModel(value = "ve_base_app_user对象", description = "用户信息")
public class VeBaseAppUser implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty("id")
    private String id;

    @Excel(name = "工号(或学号)", width = 15.0D)
    @ApiModelProperty("用户id")
    private String userId;

    @Excel(name = "密码", width = 15.0D)
    @ApiModelProperty("用户密码")
    private String userPassword;

    @Excel(name = "md5密码盐", width = 15.0D)
    @ApiModelProperty("md5")
    private String salt;

    @Excel(name = "用户工号", width = 15.0D)
    @ApiModelProperty("用户工号")
    private String userName;

    @Excel(name = "用户姓名", width = 15.0D)
    @ApiModelProperty("用户姓名")
    private String realName;

    @Excel(name = "返回状态", width = 15.0D)
    @ApiModelProperty("返回状态")
    private String status;

    @Excel(name = "用户类型(0管理员 1：老师，2，学生 3企业管理员  4企业教师)", width = 15.0D)
    @ApiModelProperty("用户类型(0管理员 1：老师，2，学生 3企业管理员  4企业教师)")
    private String userType;

    @Excel(name = "用户登录名(手机号)", width = 15.0D)
    @ApiModelProperty("用户登录名")
    private String userTel;

    @Excel(name = "状态(学生为空，17:招聘;在职:10;退体:01;其他:18)", width = 15.0D)
    @ApiModelProperty("状态(学生为空，17:招聘;在职:10;退体:01;其他:18)")
    private String statusVal;

    @ApiModelProperty("是否删除")
    private String isDel;

    @Excel(name = "numbers", width = 15.0D)
    @ApiModelProperty("numbers")
    private String numbers;

    @Excel(name = "userApp", width = 15.0D)
    @ApiModelProperty("userApp") private
    String userApp;

    @Excel(name = "创建时间", width = 20.0D)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    //private String createTime;


    @Excel(name = "更新时间", width = 20.0D)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    //private String updateTime;

    @ApiModelProperty("token")
    private String token;

    @Excel(name = "头像路径", width = 20.0D)
    @ApiModelProperty("头像路径")
    private String avatarUrl;

    @Excel(name = "密码强度", width = 20.0D)
    @ApiModelProperty("密码强度")
    private String strength;

    @Excel(name = "邮箱", width = 20.0D)
    @ApiModelProperty("邮箱")
    private String email;

    @Excel(name = "生日", width = 20.0D)
    @ApiModelProperty("生日")
    private Date birthday;

    @Excel(name = "学历", width = 20.0D)
    @ApiModelProperty("学历")
    private String education;

    @Excel(name = "学位", width = 20.0D)
    @ApiModelProperty("学位")
    private String degree;

    @Excel(name = "联系地址", width = 20.0D)
    @ApiModelProperty("联系地址")
    private String address;

    @Excel(name = "个性签名", width = 20.0D)
    @ApiModelProperty("个性签名")
    private String signature;

    @Excel(name = "性别", width = 20.0D)
    @ApiModelProperty("性别(0保密，1男，2女)")
    private String sex;

    @TableField(exist = false)
    private String appId;

    @TableField(exist = false)
    private String roleId;

    @TableField(exist = false)
    @ApiModelProperty("教师学生id")
    private String TeacherOrStudentId;

    @TableField(exist = false)
    @ApiModelProperty("教师学生学号")
    private String TeacherOrStudentCode;

    /** 行政班名称 */
    @TableField(exist = false)
    @ApiModelProperty(value = "行政班名称")
    private String  xzbmc;

    @TableField(exist = false)
    @ApiModelProperty(value = "年级名称")
    private String njmc;

    @TableField(exist = false)
    @ApiModelProperty(value = "专业名称")
    private String zymc;

    @TableField(exist = false)
    @ApiModelProperty(value = "学院名称")
    private String yxmc;

    @TableField(exist = false)
    @ApiModelProperty(value = "教研组名称")
    private String jyzmc;

}
